# coding: utf-8

#
# Clase mensaje del Rafa para mantener el formato
#
class mensaje:
    def __init__(self):
        self.autor = ""
        self.fecha = ""
        self.titulo = ""
        self.id = ""
        self.en_respuesta_a = ""
        self.texto = ""
        self.permalink = ""
        

    def get_dom(self,doc):
        root = doc.createElement("mensaje")
        meta = doc.createElement("metadatos")
        texto = doc.createElement("texto")
        root.appendChild(meta)
        root.appendChild(texto)
        t = doc.createTextNode(self.texto)
        texto.appendChild(t)
        self._setattribute(meta,"autor")
        self._setattribute(meta,"fecha")
        self._setattribute(meta,"titulo")
        self._setattribute(meta,"id")
        self._setattribute(meta,"en_respuesta_a")
        self._setattribute(meta,"permalink")
        return root

    def _setattribute(self,son,varname):
        son.setAttribute(varname,self.__dict__[varname])

    def _loadvar(self,son,varname):
        if son.attributes.has_key(varname):
            self.__dict__[varname] = son.attributes[varname].value

    def load_from_dom(self,root):
        for son in root.childNodes:
            if son.nodeName == "metadatos":
                self._loadvar(son,"autor")
                self._loadvar(son,"fecha")
                self._loadvar(son,"titulo")
                self._loadvar(son,"id")
                self._loadvar(son,"en_respuesta_a")
                self._loadvar(son,"permalink")
            elif son.nodeName == "texto":
                if len(son.childNodes) != 0 and son.childNodes[0].nodeType == son.childNodes[0].TEXT_NODE:
                    self.texto = son.childNodes[0].data

